Robotic devices are used increasingly to perform tasks such as moving through unknown and/or changing environments to deliver supplies for manufacturing, search and rescue operations, or other similar operations. Thus, autonomous movement of the robotic devices is an important function.
SLAM technology is an important aspect to movement in such an environment. A robotic device using the SLAM process builds and maintains a two (2D) or three dimensional (3D) map of the unknown environment and, at the same time that it is building the map, localizes itself within that environment. However, there are several challenges for SLAM to be effective.
For example, camera localization and tracking may be unstable when there are large, textureless regions in the mapped area. Also, dynamic objects that move through the mapped area need to be avoided but also not added to the map since they are outliers that are not part of that particular environment. The SLAM process does not take these problems into account when building maps.